package com.hst.web.base.entity;

import com.hst.core.annotation.Comment;
import com.hst.core.annotation.HSID;
import com.hst.core.dao.BaseEntity;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.io.Serializable;
import java.sql.Timestamp;

/**
 * @Auther: liwei
 * @Date: 2024/04/12/0012 - 04 - 12 - 16:19
 * @Description: com.hst.web.base.entity
 * @version: 1.0
 */
@Entity
@Table(name = "t_contract")
@Comment("人员合同表")
@HSID(length = 10, prefix = "C", resetByDay = true)
public class TContract extends BaseEntity implements Serializable {

    /**
     *
     */
    private static final long serialVersionUID = 1L;

    @Id
    @Column(name = "contract_code", length = 50)
    @Comment("合同编号")
    @GeneratedValue(generator = "hsid")
    @GenericGenerator(name = "hsid", strategy = "com.hst.core.hbm.HSIDGenerator")
    private String contractCode;

    @Column(name = "employee_code", length = 20)
    @Comment("人员编号")
    private String employeeCode;

    @Column(name = "file_name", length = 50)
    @Comment("文件名称")
    private String fileName;

    @Column(name = "storage_path", length = 50)
    @Comment("存储路径")
    private String storagePath;

    @Column(name = "create_time")
    @Comment("上传时间")
    private Timestamp createTime;

    @Column(name = "op_user", length = 50)
    @Comment("上传人")
    private String opUser;

    @Column(name = "status", length = 10)
    @Comment("合同状态（1-有效，2-无效）")
    private String status;

    @Column(name = "is_del", length = 10)
    @Comment("是否删除（1-已删除，2-未删除）")
    private String isDel;

    @Column(name = "file_type", length = 10)
    @Comment("文件类型（1-压缩包，2-PDF，3-图片）")
    private String fileType;

    @Column(name = "update_time")
    @Comment("修改时间")
    private Timestamp updateTime;

    @Column(name = "up_user", length = 50)
    @Comment("修改人")
    private String upUser;

    @Column(name = "contractor_code", length = 20)
    @Comment("承运商编码")
    private String contractorCode;

    @Column(name = "company_code", length = 20)
    @Comment("企业编码")
    private String companyCode;

    @Column(name = "papers_number", length = 32)
    @Comment("证件号")
    private String papersNumber;

    @Column(name = "start_time")
    @Comment("合同开始时间")
    private Timestamp startTime;

    @Column(name = "end_time")
    @Comment("合同结束时间")
    private Timestamp endTime;

    public Timestamp getStartTime() {
        return startTime;
    }

    public void setStartTime(Timestamp startTime) {
        this.startTime = startTime;
    }

    public Timestamp getEndTime() {
        return endTime;
    }

    public void setEndTime(Timestamp endTime) {
        this.endTime = endTime;
    }

    public String getPapersNumber() {
        return papersNumber;
    }

    public void setPapersNumber(String papersNumber) {
        this.papersNumber = papersNumber;
    }

    public String getContractorCode() {
        return contractorCode;
    }

    public void setContractorCode(String contractorCode) {
        this.contractorCode = contractorCode;
    }

    public String getCompanyCode() {
        return companyCode;
    }

    public void setCompanyCode(String companyCode) {
        this.companyCode = companyCode;
    }

    public String getOpUser() {
        return opUser;
    }

    public void setOpUser(String opUser) {
        this.opUser = opUser;
    }

    public String getUpUser() {
        return upUser;
    }

    public void setUpUser(String upUser) {
        this.upUser = upUser;
    }

    public String getContractCode() {
        return contractCode;
    }

    public void setContractCode(String contractCode) {
        this.contractCode = contractCode;
    }

    public String getEmployeeCode() {
        return employeeCode;
    }

    public void setEmployeeCode(String employeeCode) {
        this.employeeCode = employeeCode;
    }

    public String getFileName() {
        return fileName;
    }

    public void setFileName(String fileName) {
        this.fileName = fileName;
    }

    public String getStoragePath() {
        return storagePath;
    }

    public void setStoragePath(String storagePath) {
        this.storagePath = storagePath;
    }

    @Override
    public Timestamp getCreateTime() {
        return createTime;
    }

    @Override
    public void setCreateTime(Timestamp createTime) {
        this.createTime = createTime;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getIsDel() {
        return isDel;
    }

    public void setIsDel(String isDel) {
        this.isDel = isDel;
    }

    public String getFileType() {
        return fileType;
    }

    public void setFileType(String fileType) {
        this.fileType = fileType;
    }

    @Override
    public Timestamp getUpdateTime() {
        return updateTime;
    }

    @Override
    public void setUpdateTime(Timestamp updateTime) {
        this.updateTime = updateTime;
    }
}
